using System;
using System.Collections.Generic;

using MvcCms.Data;
using MvcCmsSocial.Data;

namespace MvcCmsSocial.Service
{
    public interface ISocialService
    {
        SocialImage GetProfilePic(Guid userId);
        DTOSocialMessage CreateSocialMessage(SocialMessage socialMessageToCreate, string messageType);
        bool EditSocialMessage(SocialMessage socialMessageToEdit);
        DTOMessages ListSocialMessages(Guid toUserId, int pageNumber, int resultsPerPage);
        bool DeleteSocialMessage(SocialMessage socialMessageToDelete);
        bool CreateSocialLike(SocialLike socialLikeToCreate);

        bool CreateSocialImage(SocialImage socialImageToCreate);
        bool EditSocialImage(SocialImage socialImageToEdit);
        SocialImage GetSocialImage(string imageName, Guid userId);
        SocialImage GetSocialImage(string imageName);
        IEnumerable<SocialImage> ListSocialImages(Guid userId);
        bool DeleteSocialImage(SocialImage socialImageToDelete);

        User GetUser(string userName);

        SocialData GetSocialData(Guid userId);
        bool CreateSocialData(SocialData socialDataToCreate);
        bool EditSocialData(SocialData socialDataToEdit);
    }
}